home *** CD-ROM | disk | FTP | other *** search
/ Windows News 2005 November / WNnov2005.iso / Windows / Indispensables / Movie Collection / MovieCollection5403.exe / {app} / udf / fbudf.sql < prev    next >
Text File  |  2003-10-09  |  6KB  |  185 lines

  1. /*
  2.  *
  3.  *     The contents of this file are subject to the Initial
  4.  *     Developer's Public License Version 1.0 (the "License");
  5.  *     you may not use this file except in compliance with the
  6.  *     License. You may obtain a copy of the License at
  7.  *     http://www.ibphoenix.com/idpl.html.
  8.  *
  9.  *     Software distributed under the License is distributed on
  10.  *     an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either
  11.  *     express or implied.  See the License for the specific
  12.  *     language governing rights and limitations under the License.
  13.  *
  14.  *
  15.  *  The Original Code was created by Claudio Valderama C. for IBPhoenix.
  16.  *  The development of the Original Code was sponsored by Craig Leonardi.
  17.  *
  18.  *  Copyright (c) 2001 IBPhoenix
  19.  *  All Rights Reserved.
  20.  */
  21.  
  22.  
  23. /*This file defines the new udfs for firebird.*/
  24.  
  25. set sql dialect 3;
  26.  
  27. --FBUDF_API paramdsc* idNvl(paramdsc* v, paramdsc* v2)
  28. declare external function invl
  29. int by descriptor, int by descriptor
  30. returns int by descriptor
  31. entry_point 'idNvl' module_name 'fbudf';
  32.  
  33. --FBUDF_API paramdsc* idNvl(paramdsc* v, paramdsc* v2)
  34. declare external function i64nvl
  35. numeric(18,0) by descriptor, numeric(18,0) by descriptor
  36. returns numeric(18,0) by descriptor
  37. entry_point 'idNvl' module_name 'fbudf';
  38.  
  39. --FBUDF_API paramdsc* idNvl(paramdsc* v, paramdsc* v2)
  40. declare external function dnvl
  41. double precision by descriptor, double precision by descriptor
  42. returns double precision by descriptor
  43. entry_point 'idNvl' module_name 'fbudf';
  44.  
  45. --FBUDF_API paramdsc* sNvl(paramdsc* v, paramdsc* v2, paramdsc* rc)
  46. declare external function snvl
  47. varchar(100) by descriptor, varchar(100) by descriptor,
  48. varchar(100) by descriptor returns parameter 3
  49. entry_point 'sNvl' module_name 'fbudf';
  50.  
  51. --FBUDF_API paramdsc* iNullIf(paramdsc* v, paramdsc* v2)
  52. declare external function inullif
  53. int by descriptor, int by descriptor
  54. returns int by descriptor
  55. entry_point 'iNullIf' module_name 'fbudf';
  56.  
  57. --FBUDF_API paramdsc* dNullIf(paramdsc* v, paramdsc* v2)
  58. declare external function dnullif
  59. double precision by descriptor, double precision by descriptor
  60. returns double precision by descriptor
  61. entry_point 'dNullIf' module_name 'fbudf';
  62.  
  63. --FBUDF_API paramdsc* iNullIf(paramdsc* v, paramdsc* v2)
  64. declare external function i64nullif
  65. numeric(18,4) by descriptor, numeric(18,4) by descriptor
  66. returns numeric(18,4) by descriptor
  67. entry_point 'iNullIf' module_name 'fbudf';
  68.  
  69. --FBUDF_API paramdsc* sNullIf(paramdsc* v, paramdsc* v2, paramdsc* rc)
  70. declare external function snullif
  71. varchar(100) by descriptor, varchar(100) by descriptor,
  72. varchar(100) by descriptor returns parameter 3
  73. entry_point 'sNullIf' module_name 'fbudf';
  74.  
  75. --FBUDF_API char* DOW(ISC_DATE* v, char* rc)
  76. declare external function dow
  77. timestamp,
  78. varchar(15) returns parameter 2
  79. entry_point 'DOW' module_name 'fbudf';
  80.  
  81. --FBUDF_API char* SDOW(ISC_DATE* v, char* rc)
  82. declare external function sdow
  83. timestamp,
  84. varchar(5) returns parameter 2
  85. entry_point 'SDOW' module_name 'fbudf';
  86.  
  87. --FBUDF_API paramdsc* right(paramdsc*, short* rl, paramdsc* rc)
  88. declare external function sright
  89. varchar(100) by descriptor, smallint,
  90. varchar(100) by descriptor returns parameter 3
  91. entry_point 'right' module_name 'fbudf';
  92.  
  93. --FBUDF_API ISC_TIMESTAMP* addDay(ISC_TIMESTAMP* v, int ndays)
  94. declare external function addDay
  95. timestamp, int
  96. returns timestamp
  97. entry_point 'addDay' module_name 'fbudf';
  98.  
  99. --FBUDF_API ISC_TIMESTAMP* addWeek(ISC_TIMESTAMP* v, int nweeks)
  100. declare external function addWeek
  101. timestamp, int
  102. returns timestamp
  103. entry_point 'addWeek' module_name 'fbudf';
  104.  
  105. --FBUDF_API ISC_TIMESTAMP* addMonth(ISC_TIMESTAMP* v, int nmonths)
  106. declare external function addMonth
  107. timestamp, int
  108. returns timestamp
  109. entry_point 'addMonth' module_name 'fbudf';
  110.  
  111. --FBUDF_API ISC_TIMESTAMP* addYear(ISC_TIMESTAMP* v, int nyears)
  112. declare external function addYear
  113. timestamp, int
  114. returns timestamp
  115. entry_point 'addYear' module_name 'fbudf';
  116.  
  117. --FBUDF_API ISC_TIMESTAMP* addMilliSecond(ISC_TIMESTAMP* v, int nseconds)
  118. declare external function addMilliSecond
  119. timestamp, int
  120. returns timestamp
  121. entry_point 'addMilliSecond' module_name 'fbudf';
  122.  
  123. --FBUDF_API ISC_TIMESTAMP* addSecond(ISC_TIMESTAMP* v, int nseconds)
  124. declare external function addSecond
  125. timestamp, int
  126. returns timestamp
  127. entry_point 'addSecond' module_name 'fbudf';
  128.  
  129. --FBUDF_API ISC_TIMESTAMP* addMinute(ISC_TIMESTAMP* v, int nminutes)
  130. declare external function addMinute
  131. timestamp, int
  132. returns timestamp
  133. entry_point 'addMinute' module_name 'fbudf';
  134.  
  135. --FBUDF_API ISC_TIMESTAMP* addHour(ISC_TIMESTAMP* v, int nhours)
  136. declare external function addHour
  137. timestamp, int
  138. returns timestamp
  139. entry_point 'addHour' module_name 'fbudf';
  140.  
  141. --It will work only with Win32 until it's ported to another OS.
  142. --FBUDF_API ISC_TIMESTAMP* getExactTimestamp(ISC_TIMESTAMP* rc)
  143. declare external function getExactTimestamp
  144. timestamp returns parameter 1
  145. entry_point 'getExactTimestamp' module_name 'fbudf';
  146.  
  147. --FBUDF_API paramdsc* fbtruncate(paramdsc* v, paramdsc* rc)
  148. declare external function Truncate
  149. int by descriptor, int by descriptor
  150. returns parameter 2
  151. entry_point 'fbtruncate' module_name 'fbudf';
  152.  
  153. --FBUDF_API paramdsc* fbtruncate(paramdsc* v, paramdsc* rc)
  154. declare external function i64Truncate
  155. numeric(18) by descriptor, numeric(18) by descriptor
  156. returns parameter 2
  157. entry_point 'fbtruncate' module_name 'fbudf';
  158.  
  159. --FBUDF_API paramdsc* fbround(paramdsc* v, paramdsc* rc)
  160. declare external function Round
  161. int by descriptor, int by descriptor
  162. returns parameter 2
  163. entry_point 'fbround' module_name 'fbudf';
  164.  
  165. --FBUDF_API paramdsc* fbround(paramdsc* v, paramdsc* rc)
  166. declare external function i64Round
  167. numeric(18, 4) by descriptor, numeric(18, 4) by descriptor
  168. returns parameter 2
  169. entry_point 'fbround' module_name 'fbudf';
  170.  
  171. --FBUDF_API paramdsc* power(paramdsc* v, paramdsc* v2, paramdsc* rc)
  172. declare external function dPower
  173. double precision by descriptor, double precision by descriptor,
  174. double precision by descriptor
  175. returns parameter 3
  176. entry_point 'power' module_name 'fbudf';
  177.  
  178. --FBUDF_API blobcallback* string2blob(paramdsc* v, blobcallback* outblob)
  179. declare external function string2blob
  180. varchar(300) by descriptor,
  181. blob returns parameter 2
  182. entry_point 'string2blob' module_name 'fbudf';
  183.  
  184.  
  185.